import { post, get, put, del } from '@/utils/request';
import { getStorage } from '@/utils';

// type 1 个人 2 团队 3 系统
// avatar 头像
// name 名称
// description 描述
// share 分享
// system prompt中的system
// context prompt中的上下文
// prompt prompt中的内容
// paramsType 参数类型（settings中取 key: "paramsType"）
// params 参数值 [1,1,1] 修改后存储类型为int
// answer 示例答案
// status

/**
 * teamId 存在则为获取相对应团队机器人  不存在获取个人机器人
 */
export const botGet = (data: { teamId?: string; id?: string }) => get('/szjc-ai/bot', data);

export const botGetById = (data: { id?: string }) => get(`/szjc-ai/bot/byId/${data.id}`, data);

/**
 * 妙笔中心数据获取
 */
export const botCenterGet = (data: { category?: string; name?: string }) => get('/szjc-ai/bot/center', data);
/**
 * 妙笔中心添加到我的
 * 妙笔中心直接用  如果没有在我的机器人 需调用 并传参数 status:'1'
 */
export const addToMyBot = (data: { botId?: string; status?: string; flag?: string }) => post('/szjc-ai/bot/toMy', data);

/**
 * 分享页面获取相关配置 id: userBotId
 */
export const botGetByShare = (data: { id: string }) => get('/szjc-ai/common/bot', data);
/*
 * 分享打开或关闭链接share:0,1
 */
export const botEditByShare = (data: { userBotId: string; share: string }) => put('/szjc-ai/bot/share', data);
/**
 * log添加
 * 成功后会返回相应id  用于二次编辑
 */
type BotLogAddParams = {
  userBotId: string; // botGet botGetByShare 会返回
  answers: {
    answer: string;
    index: number;
  };
  num: number; // 生成条数
  userId?: string; // 提问者 如果在分享页面 不传
  params: string; //JSON串 详细参数（可存储）完整内容 便于展示
  modelType: string; // 模型
  question: string;
};
export const botLogAdd = (data: any) => post('/szjc-ai/common/bot/log', data);

/**
 * log获取 历史页面
 */
type botLogGetParams = {
  teamId?: string; // 团队模式必传  不传则默认为个人模式
  botId?: string; // botGet 列表
  createTimeFrom?: string;
  createTimeTo?: string;
  official?: string; // '0'自建 1: 妙笔
  userId?: string; // 团队版筛选提问者（团队成员）
  page: string;
  pageSize: string;
};
export const botLogGet = (data: botLogGetParams) => get('/szjc-ai/bot/log', data);

/**
 * 历史页面查看详情 跳转到使用页面 初始化使用数据（开发使用页面时考虑）
 */
export const botLogGetById = (data: { id: string }) => get('/szjc-ai/bot/logById', data);

type botAnswerEditParams = {
  id: string; // answers 里面的id
  answer?: string; // 内容
  score?: number; // 评分
  status?: string; // 删除可标记 '0'
};
export const botAnswerEdit = (data: botAnswerEditParams) => put('/szjc-ai/common/bot/answer', data);
type putArrangeEditParams = {
  answer?: string;
  modelType?: string;
  num?: number;
  params?: string;
  question?: string;
  userBotId?: string;
  userId?: string;
};
export const putArrange = (data: putArrangeEditParams) => post('/szjc-ai/bot/arrange', data);

export const botNumGet = () => get('/szjc-ai/bot/num');

export const botGetByLog = () => get('/szjc-ai/bot/byLog');

/**
 * type
 * 1 （输入框）包含问 新建机器人等 2 输出内容 3 新建机器人 4 小红书 5 知乎
 */
export const blackCheck = (data: { text: string; type: string }) =>
  post(getStorage('token') ? '/szjc-ai/blackCheck' : '/szjc-ai/common/blackCheck', data);

// 我的收藏（查询）
export const botCollectGet = () => get('/szjc-ai/bot/collect');
// 我的收藏（删除）
export const botCollectDel = (data: any) => del('/szjc-ai/bot/collect', data);
// 我的收藏（添加）
export const botCollectPost = (data: any) => post('/szjc-ai/bot/collect', data);

//
export const getUserInfo = () => get('/szjcbase/user/userInfo');
